var utils = require('../../utils/util.js')

Page({
    /**
     * 页面的初始数据
     */
    data: {
        ys: '', //心动按钮颜色
        bg: '', //背景颜色
        event_num: 1, // 默认为心跳事件
        title: '', // 标题
        score: 1, //默认评分
        date: '', // 日期00-00-
        formatdate: '', // 日期 年月日
        desc: '', //描述
        info: '',
        today: '', //今日
        detail: [], // 事件
        no: '', //不显示修改
        alter_title: true, //初始化隐藏模态输入框
        alter_desc: true,
        but_text: '确认提交', // 底部按钮显示的文本
        fun: 'show', // 当前作用什么方法,默认查看方法
    },

    /**
     * 生命周期函数--监听页面加载
     * 判断父页面传输的event：
     * addscore：添加心跳事件
     * minscore：添加心碎事件
     * show：查询事件详情
     */
    onLoad(options) {
        console.log(options);
        this.setData({
            fun: options.fun
        })
        if (options.event == 'addscore') {
            this.getNowDate()
            console.log('添加心跳事件');
        } else if (options.event == 'minscore') {
            this.getNowDate()
            console.log('添加心碎事件');
            this.setData({
                ys: 'ys',
                event_num: 0
            })
        } else if (options.event == 'show') {
            this.getDetailData(options)
        }
    },

    /**
     * 返回父页面
     */
    back() {
        wx.navigateBack()
    },

    /**
     * 提交添加
     */
    insertSubmint() {
        console.log('提交了')
        var data = {
            title: this.data.title,
            date: this.data.date,
            score: this.data.score,
            addMin: this.data.event_num,
            info: this.data.info,
            userId: wx.getStorageSync('me').id,
            loveId: wx.getStorageSync('ta_id')
        }
        // console.log(data);
        if (this.data.title) {
            wx.request({
                url: 'http://localhost:8888/heart/insert',
                method: 'POST',
                data: data,
                success: (res) => {
                    console.log(res.data);
                    if (res.data.code == 1013) {
                        wx.showToast({
                            title: '添加成功',
                            icon: 'success',
                            duration: 1000,
                            success: function () {
                                setTimeout(function () {
                                    wx.redirectTo({
                                        url: '/pages/heartbeat/heartbeat?page=you'
                                    })
                                }, 1000)
                            }
                        })
                    } else {
                        wx.showToast({
                            title: '添加失败',
                            icon: 'error',
                            duration: 2000
                        })
                    }
                }
            })
        } else {
            wx.showToast({
                title: '参数不正确',
                icon: 'error'
            })
        }
    },

    /**
     * 提交修改
     */
    alterSubmit() {
        console.log("提交修改");
        // console.log(this.data.detail);
        wx.request({
            url: 'http://localhost:8888/heart/update',
            method: 'POST',
            data: {
                id: this.data.detail.id,
                title: this.data.detail.title,
                info: this.data.detail.info
            },
            success: (res) => {
                console.log(res.data);
                if (res.data == "更新成功") {
                    wx.redirectTo({
                        url: '/pages/heartbeat/heartbeat?page=you',
                    })
                } else {
                    wx.showToast({
                        title: '修改失败',
                        icon: 'error'
                    })
                }
            }
        })
    },

    /**
     * 页面点击提交 判断是添加数据还是修改数据
     */
    submint() {
        if (this.data.fun == 'alter') {
            this.alterSubmit()
        } else {
            this.insertSubmint()
        }
    },


    /**
     * 修改标题
     */
    alterTitle() {
        this.setData({
            alter_title: !this.data.alter_title
        })
    },

    getTitleText(e) {
        // console.log(e.detail.value);
        var t = this.data.detail
        t.title = e.detail.value
        this.setData({
            detail: t,
            title: e.detail.value
        })
    },

    /**
     * 修改描述
     */
    alterDesc() {
        this.setData({
            alter_desc: !this.data.alter_desc
        })
    },

    getDescText(e) {
        // console.log(e.detail.value);
        var t = this.data.detail
        t.info = e.detail.value
        this.setData({
            detail: t,
            desc: utils.getDescInfo(e.detail.value),
            info: e.detail.value
        })
    },


    /**
     * 获取分数
     */
    sliderChange(e) {
        // console.log("评分=>", e.detail.value);
        this.setData({
            score: e.detail.value
        })
    },

    /**
     * 获取当前年月日
     */
    getNowDate() {
        var date = utils.formatTime(new Date())
        // console.log("当前日期=>", date);
        this.setData({
            date: date,
            formatdate: utils.formatDate(date),
            today: date
        })
    },


    /**
     * 根据父页面传输的事件id查询详情
     */
    getDetailData(options) {
        wx.request({
            url: `http://localhost:8888/heart/find/${options.id}`,
            success: (res) => {
                console.log(res.data);
                this.setDetailValue(res.data.data, options)
            }
        })
    },

    /**
     * 转换detail数据格式
     * 判断事件类型 添加颜色类
     */
    setDetailValue(detail, options) {
        // 截取时间
        detail.date = utils.formatDate(detail.date.slice(0, 10))
        // 如果是心碎事件
        if (detail.addMin == 0) {
            this.setData({
                bg: 'bg1',
                ys: 'ys',
                event: '-' + detail.score + '分'
            })
        } else {
            this.setData({
                bg: 'bg2',
                event: '+' + detail.score + '分'
            })
        }

        // 如果是我的心跳页面或者兑换事件 不显示修改
        if (options.page == 'me' || detail.exchangePoint == 'true') {
            this.setData({
                no: 'no'
            })
        }
        if (options.fun == 'alter') {
            this.setData({
                but_text: '确认修改'
            })
        }

        this.setData({
            detail: detail,
            title: detail.title,
            desc: utils.getDescInfo(detail.info)
        })

    },

    /**
     * 时间变化
     */
    bindDateChange: function (e) {
        console.log('picker发送选择改变，携带值为', e.detail.value)
        this.setData({
            date: e.detail.value,
            formatdate: utils.formatDate(e.detail.value)
        })
    },
})